/*
 * stringop.h
 *
 *  Created on: 2014-6-11
 *      Author: archer
 */

#ifndef STRINGOP_H_
#define STRINGOP_H_

class Stringop
{
public:
	Stringop(){};
	char* strcp(char *dst,const char *src)
	{
		char * addr = dst;
		if(dst !=0 && src != 0)
		{
			while (*src)
			{
				*dst++ = *src++;
			}
			*dst = '\0';
		}
		return dst;
	}
	int strlens(const char *p)
	{
		int result = 0;
		while((*p++)!='\0')
		{
			result++;
		}
		return result;
	}
	int strcmp(const char* dst,const char* src)
	{
		
		while(*dst++ == *src++)
		{	
			if (*src=='\0'&&*dst=='\0')
			{
				return 0;
			}
		}
		return 1;
	}
	int strncmp(const char* dst,const char* src,int n)
	{
		int tmp = 0;
		while(*dst++ == *src++)
		{	

			if (*src=='\0'&&*dst=='\0'||++tmp == n)
			{
				return 0;
			}
		}
		return 1;
	}
	void strcat(char* dst,char* src)
	{
		while(*dst)
		{
			dst++;
		}
		while(*src)
		{
			*dst++=*src++;
		}
		*dst = '\0';
	}
	void strup(char* p)
	{
		while(*p)
		{
			*p -= 32;
			p++;
		}
		// TODO
	}

private:
	//char *p;
};




#endif /* STRINGOP_H_ */
